#ifndef CAPPSTATECHANGEDIF_H_INCLUDED
    #define CAPPSTATECHANGEDIF_H_INCLUDED

#include "CAppState.h"
#include "CSurface.h"
#include "CFont.h"
#include "CScore.h"
#include "CField.h"

class CAppStateChangeDif : public CAppState {
    private:
        static CAppStateChangeDif Instance;

        SDL_Surface*    Surf_BG;
        SDL_Surface*    Surf_Easy;
        SDL_Surface*    Surf_Medium;
        SDL_Surface*    Surf_Hard;
        SDL_Surface*    Surf_Easy_OnLoop;
        SDL_Surface*    Surf_Medium_OnLoop;
        SDL_Surface*    Surf_Hard_OnLoop;

        TTF_Font*       Font;

    public:
        int             Level;

    private:
        CAppStateChangeDif();

    public:
        void OnActivate();

        void OnDeactivate();

        void OnLoop();

        void OnRender(SDL_Surface* Surf_Display);

        void OnKeyDown(SDLKey sym, SDLMod mod, Uint16 unicode);

        void OnMouseMove(int mX, int mY, int relX, int relY, bool Left,bool Right,bool Middle);

        void OnLButtonDown(int mX, int mY);

    public:
        static CAppStateChangeDif* GetInstance();
};

#endif // CAPPSTATECHANGEDIF_H_INCLUDED
